<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2016/11/7
 * Time: 16:55
 */

namespace Admin\Model;
use Think\Model;

class MemberModel extends Model
{
    protected $trueTableName = 't_user';

    /**
     * 获取会员列表
     * @param $role:用户角色ID   $p:分页
     * @return array
     * @time 2016年11月11日12:13:48
     * @author 竹晓玉  <zhuxiaoyu@iruiyou.com>
     */
    public function getUserList($role, &$p,$map){
        if(empty($role)){
            $result = $this->order('id')->page($p,C('PAGE_COUNT'))->where($map)->select();
            $count = $this->where($map)->count();
        }else{
            if($role == 102){
                $map['role_id'] = array('in','102,103,104');;
                $result = $this->order('id')->where($map)->page($p,C('PAGE_COUNT'))->select();
                $count = $this->where($map)->count();
            }else{
                $result = $this->order('id')->where('role_id='.$role)->page($p,C('PAGE_COUNT'))->where($map)->select();
                $count = $this->where('role_id='.$role)->where($map)->count();
            }
        }
        $page   = new \Think\Page($count,C('PAGE_COUNT'));
        $p  = $page->angular_show();
        $memberList=$this->where('role_id=101')->field('nickname,id ')->select();

        $names=array();
        $namelist=array();
        foreach($memberList as $v){
            $names[]=$v['nickname'];
            $namelist[$v['id']]=$v['nickname'];
        }
        $list['namelist']=$namelist;
        $list['names']=$names;
        $list['users']=$result;
        return $list;
    }

    /**
     * 下级用户列表
     * @param $map:下级用户列表
     * @return array
     * @time 2016年11月11日12:13:48
     * @author 竹晓玉  <zhuxiaoyu@iruiyou.com>
     */
    public function seeDetails($map){
        return $this->order('id')->where($map)->select();
    }

    /**
     * 获取会员列表
     * @param $id:用户ID   $mobile:手机号
     * @return array
     * @time 2016年11月11日12:13:48
     * @author 竹晓玉  <zhuxiaoyu@iruiyou.com>
     */
    public function save_user_mobile($id, $mobile){
        return $this->order('id')->where('id='.$id)->setField('mobile',$mobile);
    }

    /**
     * 获取会员信息
     * @param $id:用户ID 或 用户昵称
     * @return array
     * @time 2016年11月11日12:13:48
     * @author 竹晓玉  <zhuxiaoyu@iruiyou.com>
     */
    public function getUserInfo($id){
        if( is_numeric($id))
            $map['id'] = array('EQ',$id);
        else
            $map['nickname'] = array('LIKE',"%$id%");
        return $this->order('id')->where($map)->find();
    }

    /**
     * 获取分组后的会员数统计个数
     * @return array
     * @time 2016年11月11日12:13:48
     * @author 竹晓玉  <zhuxiaoyu@iruiyou.com>
     */
    public function getRoleNum(){
        $map['role_id'] = array('in','102,103,104');;
        $result = array(
            'dean' => $this->where('role_id=101')->count(),
            'expand' => $this->where($map)->count(),
            'teacher' => $this->where('role_id=105')->count(),
            'parent' => $this->where('role_id=106')->count(),
        );
        return $result;
    }

    /**
     * 会员字段排序
     * @return array
     * @param $role:用户组    $field_name:字段名称   $order:排序方式
     * @time 2016年11月11日12:13:48
     * @author 竹晓玉  <zhuxiaoyu@iruiyou.com>
     */
    public function indexSort($role, $field_name, $order, $map){
//                dump($map);

        if(empty($role)){
            $result = $this->order($field_name.' '.$order)->where($map)->select();
        }else{
            if($role == 102){
                $map['role_id'] = array('in','102,103,104');;
                $result = $this->order($field_name.' '.$order)->where($map)->select();
            }else{
                $map['role_id'] = $role;
                $result = $this->where($map)->order($field_name.' '.$order)->select();
            }
        }
//        dump($this->getLastSql());exit;
        return $result;
    }
}